#include "Node.h"

template <typename T>
class LinkedList
{
 private:
  Node<T>* head;
 public:
  LinkedList()
    {
      head = NULL;
    };
  LinkedList(Node<T>* _head);
  ~LinkedList();
  void append(const Node<T>& _node);
  void append(T _val);
  void list() const;
  T pop_front();
  Node<T>* find(T _val) const;
  void del(Node<T>* _add);
  void insert(T _val);
};
